Top 10k strings from HiSoft C v1.3 (1984)(HiSoft)(Side B).tzx in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TZX] (TOSEC-v2007-01-01) /

Back to the directory listing

  13 /*****************************/
   8   char *s;
   7 /* Standard Function Library */
   7 /*         Hisoft C          */
   6   char *s1, *s2;
   6       --argv;
   5   while (argc--)
   5   argv = &param_byte_count  + argc;
   5   argc = param_byte_count/2 - 1;
   3 int min(param_byte_count)  auto
   3   static int argc, *argv, min;
   3   return max;
   3   min  = 32767;
   3       if (*argv < min) min = *argv;
   3       ++s;
   2 unsigned  reg_hl, reg_de, reg_bc;
   2 typedef struct _header  HEADER, * HEADER_PTR;
   2 typedef int  FILE;
   2 struct  _header
   2 int max(param_byte_count)  auto
   2 extern unsigned strlen();
   2 extern char *strcat(), *strncat(), *strcpy(), *strncpy(), *strchr(), *strrchr(),
   2 char      reg_a;
   2 _setover(on)
   2 _colour(h,i)
   2 _beep(DE,HL)
   2 HEADER  _base, *_allocp;
   2 /* Last changed  15 Aug 1985 */
   2 /* Copyright (C) 1984 Hisoft */
   2 /*  Z80 register cache for inline code  */
   2 /*  Two variadic arithmetic functions (see manual for details)  */
   2 /*  Storage Allocation Structure and Variables */
   2 /*  Forward declarations for non-int library functions  */
   2 /*  File system Structure */
   2 /*        End Header         */
   2 /*          HEADER           */
   2 /*                           */
   2 #define RL_L       0x15CB
   2 #define RLA        0x17
   2 #define PUSH_IY    0xE5FD
   2 #define PUSH_IX    0xE5DD
   2 #define PUSH_HL    0xE5
   2 #define POP_IY     0xE1FD
   2 #define POP_IX     0xE1DD
   2 #define LD_L_A     0x6F
   2 #define LD_IX_from 0x2ADD
   2 #define LD_H_with  0x26
   2 #define LD_HL_with 0x21
   2 #define LD_HL_into 0x22
   2 #define LD_HL_from 0x2A
   2 #define LD_DE_with 0x11
   2 #define LD_DE_into 0x53ED
   2 #define LD_DE_from 0x5BED
   2 #define LD_B_with  0x06
   2 #define LD_BC_into 0x43ED
   2 #define LD_BC_from 0x4BED
   2 #define LD_A_with  0x3E
   2 #define LD_A_into  0x32
   2 #define LD_A_from  0x3A
   2 #define JR_Z       0x28
   2 #define JR_NC      0x30
   2 #define JP_HL      0xE9
   2 #define INC_B      0x04
   2 #define EI         0xFB
   2 #define DI         0xF3
   2 #define CALL       0xCD
   2 #define ADD_HL_DE  0x19
   2 #define  void  int /* for functions which return no value */
   2 #define  _SAFETY 50 /* for 
   2 #define  TRUE    1
   2 #define  NULL    0 /* for use with pointers  */
   2 #define  FAST
   2 #define  FALSE   0 /* for Boolean operations */
   2 #define  ERROR  -1
   2 #define  EOF    -1 /* end of file value      */
   2  static de,hl;
   2  return i;
   2  putc(i,2);
   2  putc(h,2);
   2  printf("\025%c",on?0:1);
   2  inline(0xdd,0xe5,
   2  if (i<0 | i>7) return -1;
   2   while (*s)
   2   unsigned  _size;
   2   struct _header * _ptr;
   2   static int c;
   2   static int argc, *argv, max;
   2   static char *p;
   2   static char *cs;
   2   return s1;
   2   return s - s1;
   2   return min;
   2   max  = -32767;
   2   inline(0xCD,0xD6B);
   2   for (i = 0; i < 4; ++i)
   2   char *s, c;
   2   char *a;
   2   char *a, *b, *c;
   2   FILE *fp;
   2       if (*argv > max) max = *argv;
   2         0xed,0x5b,&de,
   2         0xdd,0xe1);
   2         0xcd,0x3b5,
   2         0x2a,&hl,
   2             *strpbrk(), *calloc(), *malloc(), *sbrk(),    *fgets(),  *gets();
   1 void srand(n)
   1 void qsort(list, num_items, size, cmp_func)
   1 void puts(s)
   1 void poke(address, value)
   1 void long_set(a, n, d)
   1 void long_multiply(c, a, b)
   1 void long_init(a, n1, n0)
   1 void long_copy(c, a)
   1 void long_add(c, a, b)
   1 void free(block)
   1 void fputs(s, fp)
   1 unsigned strlen(s)
   1 typedef  char * __char_ptr;
   1 stdio.lib 
   1 stdio.h   
   1 rgv > max) max = *argv;
   1 py(dest, source)
   1 plot(on,x,y)
   1 ong_init(k,  0x41c6,0x4e6d);
   1 line(on,dx,dy)
   1 int toascii(c)
   1 int strspn(s1, s2)
   1 int strncmp(s1, s2, n)
   1 int strcspn(s1, s2)
   1 int strcmp(s, t)
   1 int sign(n)
   1 int rand()
   1 int peek(address)
   1 int out(data, port)
   1 int isxdigit(c)
   1 int ispunct(c)
   1 int isprint(c)
   1 int isgraph(c)
   1 int iscntrl(c)
   1 int isascii(c)
   1 int isalnum(c)
   1 int inp(port)
   1 int atoi(s)
   1 int abs(n)
   1 char *strrchr(s, c)
   1 char *strpbrk(s1, s2)
   1 char *strncpy(s1, s2, n)
   1 char *strncat(s1, 
   1 char *strchr(s, c)
   1 char *strcat(base, add)
   1 char *strc
   1 char *sbrk(n)
   1 char *malloc(num_bytes)
   1 char *gets(s)
   1 char *fgets(s, n, fp)
   1 char *calloc(n, size)
   1 char  _rnum[4];
   1 beep(duration,pitch)
   1 _setover(on);
   1 Created with Ramsoft MakeTZX
   1 /******      FILE SYSTEM      ******/
   1 /***  System Interface  ***/
   1 /* now zero fill the store */
   1 /* Spectrum Graphics and
   1 /* Some arithmetic functions */
   1 /* Last changed  31 Oct 1985 */
   1 /* Copyright (C) 1985 Hisoft */
   1 /*  String Handling Functions  */
   1 /*  Storage Allocation and Freeing (Heap Management)  */
   1 /*  Sorting function - a Shell sort  */
   1 /*  Some Functions for 32 bit integer arithmetic  */
   1 /*  Pseudo-Random Number Generator  */
   1 /*  NB - the common ones are built-in for efficiency  */
   1 /*  Input and Output  */
   1 /*  Format conversion routine  -  ASCII to binary integer  */
   1 /*  Character Test and Manipulate Functions  */
   1 /*  An illustration of how to grub around in the store */
   1 /*       version 1.3         */
   1 /*           End             */
   1 ) a[i] = 0;
   1 (sy<<8)+sx;
   1 &reg_bc, /* ld bc,(reg_bc) */
   1 #define HEAPSIZE 1000
   1  while(c = *s++)putchar(c);
   1  unsigned duration,pitch;
   1  static sx,sy,de,bc;
   1  static int c;
   1  static ft;
   1  return _colour(16,i);
   1  return _colour
   1  putchar('\n');
   1  product, x);
   1  pitch=pitch/10;
   1  inline(0xed,0x5b,&de,
   1  inline(0xdd,0x46,4,
   1  inline(0xcd,25236);
   1  if (dy<0)
   1  if (dx<0)
   1  if ( ! pitch)
   1  ft=duration*pitch/10;
   1  bc=(dy<<8)+dx;
   1  _setover(on);
   1  _exit(n);
   1  _beep(ft,cast(unsigned)43750/pitch-30);
   1   while (n--  &&  *s2) *s++ = *s2++;
   1   while (n)
   1   while (isspace(*s)) ++s;
   1   while (isdigit(c = *s++)) value = 10 * value + c - '0';
   1   while (c = *s++) putc(c, fp);
   1   while (TRUE);
   1   while (TRUE)
   1   while (--n > 0  &&  (c = getc(fp)) != EOF)
   1   while (*t++);
   1   while (*s1 == *s2)
   1   while (*s) ++s;
   1   while (*s == *t)
   1   while (*result++ = *source++) ;
   1   while (*dest++ = *add++);
   1   while (*dest) ++dest;
   1   while ((c = getchar())
   1   value = 0;
   1   unsigned n;
   1   unsigned n1,n0;
   1   unsigned n, d;
   1   unsigned   n, size;
   1   static unsigned u, i;
   1   static unsigned gap, byte_gap, i;
   1   static unsigned  nbytes;
   1   static int i;
   1   static int i, j;
   1   static int c, val
   1   static int   c;
   1   static char x[4], product[4];
   1   static char k[4];
   1   static char *t;
   1   static char *s;
   1   static char *s, c;
   1   static char *result;
   1   static char *p,
   1   static char *dest;
   1   static HEADER *p, *q;
   1   static HEADER  *p, *q;
   1   sign  = 1;
   1   s = NULL;
   1   return s;
   1   return ptr;
   1   return p;
   1   return p-s-1;
   1   return dest;
   1   return NULL;
   1   return *s1 - *s2;
   1   return *s - *t;
   1   return ((c == EOF  &&  cs == s) ? NULL : s);
   1   return  sign * value;
   1   return  n<0  ?  -n  :  n  ;
   1   return  n  ?
   1   return  isprint(c) & ! isalnum(c);
   1   return  isdigit(c) | (c >= 'A'  &  c <= 'F');
   1   return  isalpha(c) | isdigit(c) ;
   1   return  c >= ' '  &  c < '\177' ;
   1   return  c > ' '  &  c < '\177' ;
   1   return  c < 0x80 ;
   1   return  c < ' ' | c == '\177' ;
   1   return  c & 0x7F;
   1   return  base;
   1   return  * cast(__char_ptr) address;
   1   return  ((_rnum[3] << 8)  +  _rnum[2]) & 0x7FFF;
   1   result = dest;
   1   reg_bc = port;  reg_hl = data;
   1   ptr = malloc(length = n * size);
   1   p=heap_ptr;
   1   p = q->_ptr;
   1   p = cast(HEADER_PTR) block - 1;
   1   nbytes = (num_bytes + (sizeof(HEADER) - 1)) / sizeof(HEADER) + 1;
   1   move(ptr+1, ptr, length-1);
   1   move(c, a, 4);
   1   min and max are in "stdio.
   1   long_set(product, 0,0);
   1   long_multiply(_rnum, _rnum, k);
   1   long_init(k,       0,0x3039);
   1   long_init(_rnum, 0,n);
   1   long_copy(c, product);
   1   long_add(_rnum, _rnum, k);
   1   int (*cmp_func)();
   1   int   num_items, size;
   1   inline(0xe1,0xe1,0xe1,
   1   if (q + q->_size  ==  p)
   1   if (p + p->_size  ==  q->_ptr)
   1   if (heap_ptr+n > heap+HEAPSIZE) return ERROR;
   1   if (d < 3) a[d+1] = n >> 8;
   1   if ((q = _allocp) == NULL)  /* no free list */
   1   if (!n) return 0;
   1   if ( ! ptr) return NULL;
   1   if ( ! num_bytes) return NULL;
   1   if      (*s == '-') { ++s; sign = -1; }
   1   heap_ptr += n;
   1   for(ft=0;ft<duration;++ft)
   1   for (q = _allocp; !(p > q  &&  p < q->_ptr); q = q->_ptr)
   1   for (i=0; i<4; ++i
   1   for (gap = num_items >> 1;  gap > 0;  gap >>= 1)
   1   else if (*s == '+')   ++s;
   1   else  q->_ptr = p;
   1   else  p->_ptr = q->_ptr;
   1   do ; while (*p++);
   1   do    if (*t == c) s = t;
   1   dest = base;
   1   char *sbrk();
   1   char *s, *t;
   1   char *list;
   1   char *dest, *source;
   1   char *block;
   1   char *base, *add;
   1   char *a, *c;
   1   c = toupper(c);
   1   c = *s2;
   1   byte_gap = gap * size;
   1   because they are variadic
   1   a[d] = n & 0xff;
   1   a[3] = n1 >> 8;
   1   a[2] = n1 & 0xff;
   1   a[1] = n0 >> 8;
   1   a[0] = n0 & 0xff;
   1   _allocp = q;
   1   FAST char length;
   1   FAST char *ptr;
   1   /* split block and allocate tail */
   1   *s = NULL;
   1   *ptr = 0;
   1   *cs = 0;
   1   *cs = '\0';
   1   * cast(__char_ptr) address = value;
   1    sy= 0xFF;
   1    sx= 0xFF;
   1    for(pitch=4630;++pitch;);
   1    dy= -dy;
   1    dx= -dx;
   1    Sound Functions      */
   1    0x2b,0xc3,0x55,0);
   1    ((c==-1 && cs==s) ?
   1     }  /* end while TRUE */
   1     if (q >= q->_ptr  &&  (p > q  ||  p < q->_ptr))  break;
   1     if ((*cs++ = c) == '\n') break;
   1     heap[HEAPSIZE],
   1     for (j = i; j >= 0; --j)
   1     NULL : s );
   1     Adapted from "Learning to Program in C" by Thomas Plum.
   1     0xE5,       /* push hl    */
   1     0xE1DD,     /* pop  ix    */
   1     0xE1,       /* pop  hl    */
   1     0xC9);      /* ret        */
   1     0xC1,       /* pop  bc    */
   1     0x69ED);         /* out (c),l      */
   1     0x68ED,     /* in   l,(c) */
   1     0x4BED, 
   1     0x2A,   &reg_hl, /* ld hl,(reg_hl) */
   1     0x26,   0,  /* ld   h,0   */
   1     *heap_ptr=heap;
   1     ( n<0 ? -1 : 1 ) : 0 ;
   1     !=EOF  &&  c!='\n')
   1      p = p->_ptr;
   1       u  >>=  8;
   1       u   +=  *a++  +  *b++;
   1       q->_size += p->_size;
   1       q->_ptr   = p->
   1       q = p;
   1       p->_size += q->_ptr->_size;
   1       p->_ptr   = q->_ptr->_ptr;
   1       if (strchr(s2, *s1)) return s1;
   1       if (strchr(s2, *s)) break;
   1       if (p->_size >= nbytes)  /* big enough */
   1       if (p == _allocp)  /* wrapped around free list */
   1       if (*s == c) return 
   1       if (! *s)  return 0;
   1       if ( ! strchr(s2, *s)) break;
   1       if ( ! --n) break;
   1       if ( ! *s1) return 0;
   1       if ( ! *s)   return NULL;
   1       for (i = gap;  i < num_items;  ++i)
   1       _base._size = 0;
   1       _base._ptr  = _allocp = q = &_base;
   1       --n;
   1       ++s; ++t;
   1       ++s1;  ++s2;
   1       ++s1;
   1       *s++ = ( c  ?  ( c = *s2++ )  :  0 ) ;
   1       *cs++ = c;
   1       *c++ =  u & 0xff;
   1         long_set(x, a[i-j] * b[j], i);
   1         long_add(product,
   1         for (p = list + i * size - byte_gap;  p >= list;  p -= byte_gap)
   1         0xed,0x4b,&bc,
   1         0xdd,0x4e,6,
   1         0xcd,0x24ba);
   1         0xcd,0x22e5);
   1           }
   1           {
   1           return cast(__char_ptr) (p+1);
   1           p->_size = nbytes;
   1           p = _allocp;
   1           if (p->_size == nbytes)  q->_ptr = p->_ptr;  /* just right size */
   1           if ((p = cast(HEADER_PTR) sbrk(nbytes * sizeof(HEADER))) == ERROR)
   1           free(p+1);
   1           else
   1           _allocp = q;
   1             }
   1             {                        
   1             swap(p, p + byte_gap, size);
   1             return NULL;
   1             if ((*cmp_func)(p, p + byte_gap) <= 0) break;
   1               p->_size -= nbytes;
   1               p->_size  = nbytes;
   1               p        += p->_size;